require "TaskCategory"

QNW_TS_RandomTask = QNW_TS_TaskCategory:derive("QNW_TS_RandomTask")

local this = QNW_TS_RandomTask
this.name = getText("IGUI_QNW_TaskSystem_TaskCategory_Random")

function QNW_TS_RandomTask:new()
    local o = QNW_TS_RandomTask:new()
    setmetatable(o, self)
    self.__index = self
    return o
end

function QNW_TS_RandomTask.registerServer()
    Events.EveryHours.Add(this.everyHoursCallback)
end

function QNW_TS_RandomTask.unregisterServer()
    Events.EveryHours.Remove(this.everyHoursCallback)
end

function QNW_TS_RandomTask.everyHoursCallback()
    if getGameTime():getCalender():get(QNW_TS_Config.Calender.HOUR_OF_DAY) ~= 1 then
        QNW_TS_ServerCore.generateTask(this, true)
    end
end

function QNW_TS_RandomTask.generateTask(_pool)
    --if ZombRand(24) == 0 then
    --    --if ZombRand(1) == 0 then
    --    return _pool:randomWeight(1)
    --end
    --return {}
    return _pool:randomWeight(1)
end
